#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

#include "linktable.h"

typedef struct Node
{
    tLinkTableNode *pNext;
    int data;
}tNode;

tNode *Search(tLinkTable *pLinkTable);

int main(int argc, char *argv[])
{
    int i;
    tLinkTable *pLinkTable = CreateLinkTable();
    if(pLinkTable == NULL)
    {
        printf("CreateLinkTable Error!\n");
        return -1;
    }

    for(i = 0; i < 10; i++)
    {
        tNode *pNode = (tNode *)malloc(sizeof(tNode));
        pNode->data = i;
        AddLinkTableNode(pLinkTable, (tLinkTableNode *)pNode);
    }

    tNode *pTempNode = Search(pLinkTable);
    printf("%d\n", pTempNode->data);
    DelLinkTableNode(pLinkTable, (tLinkTableNode *)pTempNode);
    free(pTempNode);
    DeleteLinkTable(pLinkTable);

    return 0;
}

tNode *Search(tLinkTable *pLinkTable)
{
    tNode *pNode = (tNode *)GetLinkTableHead(pLinkTable);
    while(pNode != NULL)
    {
        if(pNode->data == 5) break;

        pNode = (tNode *)GetNextLinkTableNode(pLinkTable, (tLinkTableNode *)pNode);
    }

    return pNode;
}
